﻿using System;

namespace SharpSqlAnalyzer.nodes
{
	// Token: 0x0200034B RID: 843
	public class TSetAssignment : TParseTreeNode
	{
		// Token: 0x17000735 RID: 1845
		// (get) Token: 0x060022CA RID: 8906 RVA: 0x003355EC File Offset: 0x003337EC
		// (set) Token: 0x060022CB RID: 8907 RVA: 0x003355F4 File Offset: 0x003337F4
		public virtual TExpression Expression
		{
			get
			{
				return this.expression;
			}
			set
			{
				this.expression = value;
			}
		}

		// Token: 0x17000736 RID: 1846
		// (get) Token: 0x060022CC RID: 8908 RVA: 0x003355FD File Offset: 0x003337FD
		// (set) Token: 0x060022CD RID: 8909 RVA: 0x00335605 File Offset: 0x00333805
		public virtual ESetScope SetScope
		{
			get
			{
				return this.setScope;
			}
			set
			{
				this.setScope = value;
			}
		}

		// Token: 0x060022CE RID: 8910 RVA: 0x00335610 File Offset: 0x00333810
		public override void init(object arg1, object arg2)
		{
			if (arg1 != null)
			{
				TSourceToken tsourceToken = (TSourceToken)arg1;
				if (tsourceToken.ToString().Equals("global", StringComparison.CurrentCultureIgnoreCase))
				{
					this.setScope = ESetScope.global;
				}
				else if (tsourceToken.ToString().Equals("session", StringComparison.CurrentCultureIgnoreCase))
				{
					this.setScope = ESetScope.session;
				}
			}
			this.expression = (TExpression)arg2;
		}

		// Token: 0x060022CF RID: 8911 RVA: 0x00335669 File Offset: 0x00333869
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x060022D0 RID: 8912 RVA: 0x00335679 File Offset: 0x00333879
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x04001B12 RID: 6930
		private TExpression expression;

		// Token: 0x04001B13 RID: 6931
		private ESetScope setScope;
	}
}
